package com.ktg.mes.unit.sync;

import com.sun.jna.platform.win32.WinDef;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Data
public class SQLModel implements Serializable {
    private String tableName;
    private List<String> colums = new ArrayList<>();
    private List<Object> values = new ArrayList<>();

    private Map updateMap = new HashMap<>();

    private List<Map> columnAsMap = new ArrayList<>();

    private Map whereMap = new HashMap<>();

    private Integer size = null;

    private String orderByColumn;

    public SQLModel(String tableName){
        this.tableName = tableName;
    }

    public void addColumAndValue(String colum,Object value,boolean isInsert){
        if (isInsert){
            colums.add(colum);
            values.add(value);
        }else {
            updateMap.put(colum,value);
        }
    }

    public void addWhere(String colum,Object value){
        whereMap.put(colum+" = ",value);
    }

    public void addWhere(String colum,String than,Object value){
        whereMap.put(colum+" "+than+" ",value);
    }

    public void  addColumns(String column){
        for (int i = 0; i < colums.size(); i++) {
            if (colums.get(i).equals(column)){
                return;
            }
        }
        colums.add(column);
    }

    public void addColumnAs(String colum,String toColumn){
        if (colum.equals(toColumn)){
            addColumns(colum);
        }else {
            Map map = new HashMap<>();
            map.put(colum,toColumn);
            this.columnAsMap.add(map);
        }

    }



}
